Skip to main content

拍脑袋估算法

拍脑袋估算法

定义:一种快速评估系统规模与资源需求的粗略估算技术,常用于架构设计初期。 目标:帮助系统设计者“感知”系统负载、流量、存储、带宽等需求的数量级,以指导后续设计方案。

1. 场景指标

1.1 数据量单位

info

字节 (Byte):是基本单位,1 字节 = 8 位(bit)。

1 个 ASCII 字符 = 1 字节

次方 (Power)近似值(Approximate)全称(Full name)简称(Short name)
2¹⁰≈ 1 千(Thousand)1 千字节(Kilobyte)1 KB
2²⁰≈ 100 万(Million)1 兆字节(Megabyte)1 MB
2³⁰≈ 10 亿(Billion)1 千兆字节(Gigabyte)1 GB
2⁴⁰≈ 1 万亿(Trillion)1 太字节(Terabyte)1 TB
2⁵⁰≈ 1000 万亿(Quadrillion)1 拍字节(Petabyte)1 PB

1.2 典型计算机操作耗时分级

CPU缓存 > 内存 > 网络 > 磁盘 > 跨洋通信:操作速度依次降低,耗时呈指数级上升。

操作名称耗时(数量级)说明
L1 缓存引用0.5 纳秒 (ns)极快,CPU 最近一级缓存
分支预测失败5 ns会导致 CPU pipeline 回退,耗时增加
L2 缓存引用7 ns稍慢于 L1,但仍非常快
互斥锁加/解锁100 ns用于线程同步的原语,耗时比缓存高
主内存访问100 ns比缓存慢一个数量级
Zippy 压缩 1KB10 微秒 (µs)耗时微秒级,CPU 密集型操作
通过 1Gbps 网络传输 2KB 数据20 µs网络开销开始显现
内存中顺序读取 1MB250 µs大块数据时内存吞吐限制开始显现
数据中心内网络往返延迟500 µs一次 Ping 或 RPC 往返时间
磁盘寻道(机械硬盘)10 毫秒 (ms)随机访问,极慢
从网络读取 1MB 数据10 ms顺序传输也较慢,受带宽与延迟影响
从磁盘顺序读取 1MB 数据30 ms顺序访问较快但仍远慢于内存
跨洋往返一次(CA ↔ 荷兰)150 ms典型跨洲网络 RTT

1.3 高可用

可用性等级每天最多停机每周最多停机每月最多停机每年最多停机
99%14.40 分钟1.68 小时7.31 小时3.65 天
99.99%8.64 秒1.01 分钟4.38 分钟52.60 分钟
99.999%0.864 秒6.05 秒26.30 秒5.26 分钟
99.9999%86.4 毫秒0.604 秒2.63 秒31.56 秒

2. 常见估算维度

维度说明
QPS每秒请求数(Queries Per Second),衡量系统吞吐能力
存储容量日数据量 × 保存天数
带宽数据传输量/单位时间,决定网络需求
并发用户数活跃用户中同时在线或发起请求的比例
热点数据一段时间内频繁访问的数据,占总数据的比例

3. 常见假设公式与估算方法

  • 默认值参考
假设维度常用默认值/经验值
每用户每日请求10 ~ 100 次
并发比例1% ~ 10%
单次请求大小1KB ~ 10KB(视接口数据而定)
日活 DAU10% ~ 30% × 注册用户数
热数据占比10% ~ 20%
日志保留周期7天 / 30天 / 180天 等
  • 用户活跃度类指标
指标全称含义举例应用场景
MAUMonthly Active Users月活跃用户数,30 天内至少登录过一次的用户某社交平台月活 3 亿衡量平台整体规模与渗透率
WAUWeekly Active Users周活跃用户数,7 天内活跃用户游戏产品周活 500 万活跃粘性分析、运营活动判断
DAUDaily Active Users日活跃用户数,日均使用平台的用户数量电商平台日活 5000 万衡量日常用户粘性、负载基线
DAU/MAU活跃比(粘性)日活 / 月活,反映用户活跃度与粘性通常 20% ~ 40%DAU 高于 MAU 的 1/3 则表示高粘性
  • 系统负载类指标
指标含义举例应用场景
QPSQueries Per Second,每秒处理请求数5000 QPS 的 Web 接口核心接口性能评估,负载测试基准
TPSTransactions Per Second,每秒事务处理数1000 TPS 的支付网关交易系统吞吐能力设计
并发数(Concurrency)同一时刻系统同时处理的请求数秒杀活动同时 10 万人在线后端连接池、线程池配置依据
响应时间(Latency)每次请求的处理时间,常见 P95/P99P99 = 120ms 表示 99% 请求在 120ms 内完成性能 SLA 指标,用户体验保障
  • 存储类指标
指标含义举例应用场景
数据增长率每日/每月产生数据量每日新增日志 100GB数据仓库扩容、分区规划
热数据比例高频访问数据占比10% 数据占 90% 请求缓存设计、冷热分层
存储保留期数据保留多长时间日志保留 90 天存储成本、合规需求评估
  • 网络与通信类指标
指标含义举例应用场景
带宽(Bandwidth)单位时间内传输数据总量(MBps、Gbps)视频系统出口带宽 5GbpsCDN、负载均衡、数据上云
RTT(Round Trip Time)客户端与服务端一次请求-响应的总耗时CA 到荷兰 RTT ≈ 150ms网络延迟评估、跨地域架构设计
丢包率网络中数据包丢失的比例0.1% 被视为异常实时通信、直播、音视频质量保障
  • 传输速率易混淆
info

网络用 Gbps(位)为主,硬盘用 GB/s(字节)为主;传输时别忘 8 倍换算!

项目5Gbps5GB/s
全称5 Gigabits per second5 Gigabytes per second
中文每秒传输 5 吉比特每秒传输 5 吉字节
单位换算1 Byte = 8 bits1 GB = 1024 MB
关系5Gbps = 0.625GB/s5GB/s = 40Gbps
场景使用单位举例
网络带宽Gbps(位)光纤宽带常见 1Gbps、10Gbps
存储传输GB/s(字节)NVMe SSD 读写速度 3.5GB/s
视频流量评估两者都可需要根据场景进行换算

3.1 用户上传图片

  • 日活(DAU):100 万
  • 每用户每天上传 2 张图,平均每张 200KB
  • 日请求:100万 × 2 = 200万次
  • 日数据量:200 万 × 200KB ≈ 400 GB
  • 月存储:400 GB × 30 ≈ 12 TB

3.2 直播平台

  • 目标 DAU:1000 万

  • 高峰并发直播用户:50 万

  • 单个直播 QPS:5 次交互(弹幕、点赞等)

  • 峰值 QPS ≈ 50 万 × 5 = 250 万

  • 单日新增视频片段 200TB

  • 每段视频 20% 为高频访问,则 CDN 需缓存 40TB 热数据

3.3 Twitter 系统容量预估

项目假设值
月活跃用户(MAU)3 亿
每日活跃用户占比50%(即 DAU = 1.5 亿)
每用户每日发推数量平均 2 条
含媒体的推文占比10%
数据保留时间5 年
指标估算值公式
日活跃用户 DAU1.5 亿
推文平均 QPS3,500QPS = 150,000,000 × 2 ÷ (24 × 3600) ≈ 3,500
峰值 QPS7,000假设峰值为 2 倍平均
每日媒体存储30 TB1.5 亿 × 2 × 10% = 3000 万条 ,3000 万 × 1 MB = 30 TB/天
5 年累计媒体存储~55 PB30 TB/天 × 365 × 5 ≈ 55 PB

3.4 网络带宽估算

  • 日活跃用户 DAU:10,000,000(1千万)

  • 每人每天发帖数:10 条

  • 每条平均大小:1KB

# 总数据量
10,000,000 用户 × 10 条/人 × 1KB = 100,000,000 KB = 100,000 MB = 100 GB/天

# 24 小时均匀分布
100 GB/day ≈ 800 Gbit/day
一天 = 86400
800,000 Mbit ÷ 864009.26 Mbps

# 高峰期估算(按10%时间内完成)
10% 的时间段内(约 2.4 小时 = 8640 秒)
800,000 Mbit ÷ 864092.6 Mbps

场景网络带宽需求
📅 平均分布≈ 9.26 Mbps
🚀 高峰写入(10%时间内)≈ 92.6 Mbps
🧱 再加 20% 预留(冗余、重试、元数据)建议准备 约 120 Mbps 的上行带宽